Leadtools Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
RasterImage Constructor(RasterMemoryFlags,Int32,Int32,Int32,RasterByteOrder,RasterViewPerspective,RasterColor[],IntPtr,Int64)
See Also 
Leadtools Namespace > RasterImage Class > RasterImage Constructor : RasterImage Constructor(RasterMemoryFlags,Int32,Int32,Int32,RasterByteOrder,RasterViewPerspective,RasterColor[],IntPtr,Int64)



flags
A combination of the RasterMemoryFlags enumeration members indicating the type of memory to allocate for the image data.
width
Width of the image in pixels.
height
Height of the image in pixels.
bitsPerPixel

The number of bits per pixel.

Valid values are 0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 24, 32, 48, and 64.

Use 0 to create an 8-bit grayscale image. In that case, the method ignores the order and the palette parameters.

order

Color order for 16-, 24-, 32-, 48- and 64-bit images.

If the resultant image is less than 16 bits per pixel, this will have no effect since palletized images have no order.

viewPerspective

Specifies where the beginning of the image is stored.

Most file formats start in the lower left corner while some formats start in the upper left corner.

palette
The palette that the image will use. You can specify your own palette, or use null (Nothing in Visual Basic) for LEAD's fixed palette. The palette member is used only when bitsPerPixel is less than or equal to 8.
userData

Data array that will contain the image data when flags is RasterMemoryFlags.User.

This data must be aligned on a four byte boundary. If userData is IntPtr.Zero, the data pointer must be passed later, by calling the SetUserData method, before the image can be used.

userDataLength
Length in bytes of the data passed to userData. Only when used when userData is not IntPtr.Zero and flags is RasterMemoryFlags.User.
Constructs a new RasterImage object using the specified parameters.

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal flags As RasterMemoryFlags, _
   ByVal width As Integer, _
   ByVal height As Integer, _
   ByVal bitsPerPixel As Integer, _
   ByVal order As RasterByteOrder, _
   ByVal viewPerspective As RasterViewPerspective, _
   ByVal palette() As RasterColor, _
   ByVal userData As IntPtr, _
   ByVal userDataLength As Long _
)
Visual Basic (Usage)Copy Code
Dim flags As RasterMemoryFlags
Dim width As Integer
Dim height As Integer
Dim bitsPerPixel As Integer
Dim order As RasterByteOrder
Dim viewPerspective As RasterViewPerspective
Dim palette() As RasterColor
Dim userData As IntPtr
Dim userDataLength As Long
 
Dim instance As RasterImage(flags, width, height, bitsPerPixel, order, viewPerspective, palette, userData, userDataLength)
C# 
public RasterImage( 
   RasterMemoryFlags flags,
   int width,
   int height,
   int bitsPerPixel,
   RasterByteOrder order,
   RasterViewPerspective viewPerspective,
   RasterColor[] palette,
   IntPtr userData,
   long userDataLength
)
C++/CLI 
public:
RasterImage( 
   RasterMemoryFlags flags,
   int width,
   int height,
   int bitsPerPixel,
   RasterByteOrder order,
   RasterViewPerspective viewPerspective,
   array<RasterColor>^ palette,
   IntPtr userData,
   long userDataLength
)

Parameters

flags
A combination of the RasterMemoryFlags enumeration members indicating the type of memory to allocate for the image data.
width
Width of the image in pixels.
height
Height of the image in pixels.
bitsPerPixel

The number of bits per pixel.

Valid values are 0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 24, 32, 48, and 64.

Use 0 to create an 8-bit grayscale image. In that case, the method ignores the order and the palette parameters.

order

Color order for 16-, 24-, 32-, 48- and 64-bit images.

If the resultant image is less than 16 bits per pixel, this will have no effect since palletized images have no order.

viewPerspective

Specifies where the beginning of the image is stored.

Most file formats start in the lower left corner while some formats start in the upper left corner.

palette
The palette that the image will use. You can specify your own palette, or use null (Nothing in Visual Basic) for LEAD's fixed palette. The palette member is used only when bitsPerPixel is less than or equal to 8.
userData

Data array that will contain the image data when flags is RasterMemoryFlags.User.

This data must be aligned on a four byte boundary. If userData is IntPtr.Zero, the data pointer must be passed later, by calling the SetUserData method, before the image can be used.

userDataLength
Length in bytes of the data passed to userData. Only when used when userData is not IntPtr.Zero and flags is RasterMemoryFlags.User.

Example

For an example, refer to RasterImage.

Remarks

Support for 12 and 16-bit grayscale images is only available in the Document/Medical Imaging editions.

Creating an image of type RasterMemoryFlags.User does not allocate memory for the image data. Instead, the data pointer userData is used.

There is some speed penalty (loss) for accessing RasterMemoryFlags.Tiled images. Therefore, it is not recommended for use with all images.

The RasterMemoryFlags.Tiled images are not used by default. LEADTOOLS will create them only if it failed to create RasterMemoryFlags.Conventional images and RasterMemoryFlags.NoTiled was not specified.

The following lists the distinct types of bitmaps:

  • Conventional (uncompressed and contiguous) This is the most common type.
  • Compressed (1-bit only)
  • Tiled (uncompressed, stored internally as up to 64MB tiles)

If you pass RasterMemoryFlags.User, you are responsible for freeing the image data.

Some image processing commands, such as RotateCommand, need to re-allocate the image data. If you create an image with RasterMemoryFlags.User, and pass it to these methods, they will fail and throw and exception.

For more information refer to Accounting for View Perspective.

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also